Исследование поведения пользователей мобильного приложения

Мы работаем в стартапе, который продаёт продукты питания. Нужно разобраться, как ведут себя пользователи нашего мобильного приложения.

Для этого изучим воронку продаж. Узнаем, как пользователи доходят до покупки. Сколько пользователей доходит до покупки, а сколько — «застревает» на предыдущих шагах.

Также мы исследуем результаты A/A/B-эксперимента. Дизайнеры захотели поменять шрифты во всём приложении, а менеджеры испугались, что пользователям будет непривычно. Договорились принять решение по результатам A/A/B-теста. Пользователей разбили на 3 группы: 2 контрольные со старыми шрифтами и одну экспериментальную — с новыми.

Поэтому наша цель — провести исследование поведения пользователей приложения и определить, влияет ли внедрение нового шрифта на продажи.

Обзор данных

Нам даны следующие данные:

Каждая запись в логе — это действие пользователя, или событие.

В данных присутствуют дубликаты - удалим их на следующем этапе. Пропусков в данных нет.

Для удобства также изменим названия столбцов, а также исправим формат даты и времени.

Подготовка данных.

Заменим названия столбцов на удобные для нас.

Избавимся от дубликатов:

Исправим форматы времени - добавим новые столбцы "дата и время" и "дата".

Мы провели подготовку данных к исследованию, теперь изучим содержание.

Изучение и проверка данных.

Сколько всего событий в логе?

В имеющихся у нас данных всего 243713 событий.

Сколько всего пользователей в логе?

При этом уникальных пользователей 7,5 тысяч.

Сколько в среднем событий приходится на пользователя?

В среднем на каждого пользователя приходится 32 события.

Определим данными за какой период мы располагаем. Найдем максимальную и минимальную дату и построим гистограмму по дате и времени.

На графике ярко выражены периоды роста и спада активности пользоваталей. Между тем, можно явно сказать, что данные до 01 августа 2019 года - неполные и могут быть искажены.

Поэтому для нашего исследования мы оставим данные за период с первого по седьмое августа.

Узнаем, много ли событий и пользователей мы потеряли, отбросив старые данные.

Потери незначительны, значит, фильтрация данных по времени не повлияет на результаты анализа.

Проверим, что у нас есть пользователи из всех трёх экспериментальных групп.

Все три группы на месте.

Вывод:

Мы изучили данные в нашей таблице, определили, что в среднем на каждого пользователя приходится 32 события. Установили неполноту и искажение данных в период до 1 августа 2019 года и отфильтровали датафрейм по дате, проверив при этом долю потерянных данных.

Шаг 4. Изучение воронки событий

Посмотрим, какие события есть в логах, как часто они встречаются.

В нашем распоряжении всего 5 видов событий:

Посчитаем, сколько пользователей совершали каждое из этих событий.

Отсортируем события по числу пользователей.

Как следует из количества событий по открытию пользователями руководства, эта страница не обязательна для входа в приложение и не входит в воронку событий.

Удалим это событие из будущих рассчетов.

По воронке событий посчитаем, какая доля пользователей проходит на следующий шаг воронки (от числа пользователей на предыдущем).

На шаге "OffersScreenAppear", посещение пользователями страницы с каталогом товаров, теряется максимум - почти 40% - пользователей.

Наибольший процент конверсии на последнем этапе - из страницы корзины к успешной оплате - 95%.

Определим доля пользователей доходит от первого события до оплаты

Построим еще одну воронку, которая покажет процент перехода на следующий этап не от предыдущего шага, а от общего числа пользователей группы.

Из графика мы видим, что в среднем 47.7% пользователей от общего числа пользователей каждой группы успешно завершают покупку.

Вывод:

В нашем распоряжении всего 5 видов событий:

На шаге "OffersScreenAppear", посещение пользователями страницы с каталогом товаров, теряется максимум - почти 40% - пользователей. Наибольший процент конверсии на последнем этапе - из страницы корзины к успешной оплате - 95%.

Также, если считать долю успешных покупок от числа пользователей, зашедших в приложение, можно установить, что в среднем 47.7% пользователей от общего числа пользователей каждой группы успешно завершают покупку.

Изучение результатов А/А/В-эксперимента

В нашем распоржении две контрольные А группы - 246 и 247.

Это добавит уверенности в точности проведенного тестирования. Если же между значениями A и A будут существенные различия, это поможет обнаружить факторы, которые привели к искажению результатов. Сравнение контрольных групп также помогает понять, сколько времени и данных потребуется для дальнейших тестов.

Определим сколько пользователей в каждой экспериментальной группе.

Все три экспериментальные группы группы практически равны и содержат примерно 2,5 тысячи уникальных пользователей.

Проверим уникальность пользователей каждой группы.

Проведем А/А-эксперимент и проверим, находят ли статистические критерии разницу между выборками 246 и 247.

Выше мы уже посчитали общее количество пользователей в каждой группе.

Теперь посчитаем количество покупателей в каждой группе.

Сформируем нулевую и альтернативную гипотезы:

Нулевая гипотеза: Статистически значимых различий между конверсиями перехода пользоваталей между событиями воронки у групп нет.

Альтернативная гипотеза: Статистически значимые различия между конверсиями перехода пользоваталей между событиями воронки у групп есть.

Проведем проверку гипотез:

Нам не удалось отвергнуть нулевую гипотезу при проведении А/А-теста, значит, расчеты работают корректно.

Выберем самое популярное событие. Посчитаем число пользователей, совершивших это событие в каждой из контрольных групп.

Самым популярным событием, очевидно, является первый шаг - посещение главной страницы приложения.

Рассчитаем количество пользователей в этом и остальных событиях в каждой из групп - это поможет нам в дальшейших рассчетах. Добавим также объединенную контрольную группу.

Проверим, будет ли отличие между группами статистически достоверным.

Для оптимизации процессов, создадим функцию проверки гипотез для каждого действия внутри двух сравниваемых групп по вышеуказанному образцу.

Для начала, добавим в нашу талицу с количеством пользователей в каждой экспериментальной группе данные по объединенной контрольной группе.

Для всех событий результат один - нет оснований считать различия между группами статистически значимыми. Значит, разбивка по группам прошла корректно.

Аналогично поступим с группой с изменённым шрифтом. Сравним ее результаты с каждой из контрольных групп в отдельности по каждому событию и с объединённой контрольной группой.

При этом уточним, что сейчас мы проведем проверку между 3-мя парами групп в отношении 4 событий. Следовательно, мы проведем 12 тестов. Во избежание ошибок при проверкет гипотез, примем поправку Бонферрони, и разделим уровень значимости на количество тестов. Поэтому альфа будет равен 0.004.

Вывод: Мы разделили уровень статистической значимости на количество тестов во избежание ошибок, при этом по результатам теста p-значение практически ни разу не опустилось даже ниже 0.1. Однако уровень значимости, равный 0.1 в данном эксперименте нельзя использовать, поскольку с учетом проведения 12 тестов, вероятность ошибки будет 71%

Ни в одним из тестов не была отвергнута нулевая гипотеза, следовательно, даже если между группами есть различия, они не являются статистически значимыми. Значит, гипотеза о веротности влияния нового шрифта в приложении на продаж не подтвердилась.

Вывод

Мы провели исследование поведения пользователей приложения и определили, влияет ли внедрение нового шрифта на продажи. В нашем распоряжении были данных о 5 видах событий в приложении :

Мы установили, что шаге "OffersScreenAppear", посещение пользователями страницы с каталогом товаров, теряется максимум - почти 40% - пользователей. Наибольший процент конверсии на последнем этапе - из страницы корзины к успешной оплате - 95%.

Также, если считать долю успешных покупок от числа пользователей, зашедших в приложение, можно установить, что в среднем 47.7% пользователей от общего числа пользователей каждой группы успешно завершают покупку.

В нашем распоржении было две контрольные А группы - 246 и 247. Если бы между значениями A и A будут существенные различия, это помогло бы обнаружить факторы, которые привели к искажению результатов. По результатам сравнения контрольных групп мы определили, что между группами нет статистически значимых различий.

Мы фактически проводили 12 тестов, поэтому приняли поправку Бонферрони и разделили уровень статистической значимости на количество тестов во избежание ошибок.

В результате проверки гипотез мы установили, что ни одним из тестов не была отвергнута нулевая гипотеза, следовательно, даже если между группами есть различия, они не являются статистически значимыми. Отсюда следует вывод, что гипотеза о веротности влияния нового шрифта в приложении на продажи не подтвердилась.